1. Technical Field
Embodiments of the present invention generally relate to the routing of electronic messages. More particularly, the embodiments relate to systems and methods of selectively routing messages in an unsaved state.
2. Discussion
As the popularity of the Internet and wireless communication continues to grow, network designers and service providers are presented with a number of performance concerns. A particular concern relates to message routing. A message router receives messages from sender hosts (e.g., senders) and forwards these messages to one or more destination hosts (e.g., receivers). The process of receiving and sending a message is sometimes called a transaction, and is an important component of any networking architecture. It is not uncommon for a high performance message router to be required to complete hundreds of transactions per second.
Traditional messaging systems use a store-and-forward model for message routing. Under such an approach, when a message is received by a router the message is stored to a nonvolatile memory (NVM) so that the contents are preserved when there is no power applied to the memory. Examples of NVM include, but are not limited to, electrically erasable programmable read only memory (EEPROM) and magnetic disk. Storing the message to NVM enables recovery of the message in the event of a system crash or power failure. Unfortunately, reading from and writing to NVM is relatively slow, and may result in a performance bottleneck in the network. There is therefore a need for a system and method of routing messages that takes into consideration the possibility of system crashes and power failures, while preventing message loss and eliminating the bottleneck concerns associated with traditional store-and-forward routing models.